package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.CldWelfareSend;
import com.cleaningcloud.cld.domain.CldWelfareSendDetails;
import com.cleaningcloud.cld.domain.dto.CldWelfareSendDto;
import com.cleaningcloud.cld.domain.vo.CldWelfareSendDetailsVo;
import com.cleaningcloud.cld.domain.vo.CldWelfareSendVo;

import java.util.List;

/**
 * 福利管理Service接口
 *
 * @author cleaningcloud
 * @date 2024-11-08
 */
public interface ICldWelfareSendService {
    /**
     * 查询福利管理
     *
     * @param welfareSendId 福利管理主键
     * @return 福利管理
     */
    CldWelfareSend selectCldWelfareSendByWelfareSendId(Long welfareSendId);


    /**
     * 查询福利管理列表
     *
     * @param cldWelfareSend 福利管理
     * @return 福利管理集合
     */
    List<CldWelfareSendVo> selectCldWelfareSendList(CldWelfareSendDto cldWelfareSend);

    /**
     * 查询福利发放明细列表
     *
     * @param cldWelfareSendDetails
     * @return
     */
    List<CldWelfareSendDetailsVo> selectCldWelfareSendDetailsList(CldWelfareSendDetails cldWelfareSendDetails);

    /**
     * 新增福利管理
     *
     * @param cldWelfareSend 福利管理
     * @return 结果
     */
    int insertCldWelfareSend(CldWelfareSendDto cldWelfareSend);

    /**
     * 修改福利管理
     *
     * @param cldWelfareSend 福利管理
     * @return 结果
     */
    int updateCldWelfareSend(CldWelfareSendDto cldWelfareSend);

    /**
     * 修改福利发放明细
     *
     * @param cldWelfareSendDetails
     * @return
     */
    int updateCldWelfareSendDetails(CldWelfareSendDetails cldWelfareSendDetails);

    /**
     * 批量删除福利管理
     *
     * @param welfareSendIds 需要删除的福利管理主键集合
     * @return 结果
     */
    int deleteCldWelfareSendByWelfareSendIds(Long[] welfareSendIds);

    /**
     * 删除福利管理信息
     *
     * @param welfareSendId 福利管理主键
     * @return 结果
     */
    int deleteCldWelfareSendByWelfareSendId(Long welfareSendId);
}
